-
Notifications
You must be signed in to change notification settings - Fork 281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove last dependency on pin-project #629
Conversation
It is no longer recommended to set it: rust-lang/api-guidelines#230
Path dependencies are not problematic for publishing as long as a version is also specified.
The only thing it was generating is written out into the source instead.
I'm sympathetic to On the other hand, I'm also conTcerned that this change will make tools like Removing While we're here though: why does |
Also note that #550 tracks updating the |
My 2 cents: I think we should leave While we're at it I also think we should change |
It's part of futures-util: https://docs.rs/futures-util/latest/futures_util/future/enum.Either.html What I wrote about
👍 I've had this issue as well and had to roll my own |
Followup to / depends on #603.
Was controversial and thus split out into its own PR (see #603 (comment) and following comments). The reason this can't be done using
pin-project-lite
is now documented as a code comment.With a breaking-change coming up soon-ish, I think another alternative would be to replace this type with the one from the
either
crate and have them provideEitherProj
plus the necessary unsafe code That would imply moving theLayer
andService
implementations forEither
out totower-service
&tower-layer
but I think that should be fine. It would also imply a bunch of extra impls onEither
that may or may not be nice to have, as well as an extra API change sinceeither::Either
hasLeft
andRight
variants rather thanA
andB
.cc @olix0r @davidpdrsn